/**
 * @properties={typeid:24,uuid:"5C1CE72A-DB5B-47E3-A770-F1F0518AE3F6"}
 */
function tot_valores()
{
	if ((op_cabecera_to_op_detalle.importe==null) || (op_cabecera_to_op_detalle.importe==0))
	{
		globals.DIALOGS.showWarningDialog('Aviso',"Debe ingresar Importe",'OK')
		return false;
	}
	else
	{
		globals.gtotal_valores=0
		for ( var i = 1 ; i <= op_cabecera_to_op_detalle.getSize(); i++ )
		{
			op_cabecera_to_op_detalle.setSelectedIndex(i)
			globals.gtotal_valores+= op_cabecera_to_op_detalle.importe
		}
		globals.opago_diferencia(1);
		return true;
	}
}

/**
 * @properties={typeid:24,uuid:"C7463A81-CBC2-4FEF-9CB2-4370EF2678F8"}
 */
function valor_elegido() 
{
	globals.gcuentas_variable	= 0
	elements.importe.enabled			= true;
	elements.cuenta_cyb_id.enabled		= true;
	elements.cheque_nro.enabled			= true;
	elements.fecha_emision_chq.enabled	= true;
	elements.fecha_pago.enabled			= false;
	if (op_detalle_to_valores.es_cheque == 1) 
	{ // es cheque  
		if (op_detalle_to_valores.es_propio == 1)
		{
			globals.gcuentas_variable = 1
			if(fecha_emision_chq == null)
			{
				fecha_emision_chq = new Date();
			}
			elements.importe.requestFocus(true)
		}
		else
		{ 		// va a mostrar cheques de terceros con estado en caja y cuenta caja
			globals.formEnVentana('opago_20','cheques_ter','Datos Cheque Terceros')
			
			elements.importe.enabled			= false;
			elements.cuenta_cyb_id.enabled		= false;
			elements.cheque_nro.enabled			= false;
			elements.fecha_emision_chq.enabled	= false;
		}
	}
	else		
	{// es efectivo o transferencia   ->  pedir importe y cta
		// poner foco en importe	no permitir ingresar los otros campos
		elements.importe.requestFocus(true)
		if (op_detalle_to_valores.usa_cta_bco == 1)//26/04/2010  es transferencia se agrega el if completo
		{
			elements.cheque_nro.enabled			= true;
			elements.fecha_emision_chq.enabled	= true;
			globals.gcuentas_variable			= 1;          
		}  
		else
		{// es efectivo 04/06/2010
			banco_sucursal						= null  //04/06/2010
			elements.importe.enabled			= true;
			elements.cuenta_cyb_id.enabled		= true;
			elements.cheque_nro.enabled			= false;
			elements.fecha_emision_chq.enabled	= false;  //01/07/2010
		}
	}
}

/**
 *
 * @properties={typeid:24,uuid:"6B585063-B311-4857-94B5-71B03FB0693D"}
 */
function validar_importe() 
{
	if ((op_cabecera_to_op_detalle.importe==null) || (op_cabecera_to_op_detalle.importe==0))
	{
		globals.DIALOGS.showWarningDialog('Aviso',"Debe ingresar Importe",'OK')
		elements.importe.requestFocus(true)
		return false;
	}
	return true
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean} valid value
 *
 * @properties={typeid:24,uuid:"054D6CED-EDE6-422F-985D-17086104A4F0"}
 */
function banco_propio(oldValue, newValue, event) 
{
	var estado=ver_saldo();
	if (estado==true)
	{
	if (op_detalle_to_valores.es_cheque==1)
	{
		banco_sucursal=op_detalle_to_cuentas_cyb.descripcion;  // 21/07/2010  nueva relacion
		if(op_detalle_to_valores.es_propio== 1)
		{
		//para cheque propio poner banco_id de tabla cuentas_cyb en el detalle // 16/07/2010
		banco_id=op_detalle_to_cuentas_cyb.banco_id; // 21/07/2010  se creó la relacion
		}
	}
	return true;       //28/07/2010
	}                  //28/07/2010
	else               //28/07/2010
	{                  //28/07/2010
		return false;  //28/07/2010
	}
}

/**
 *
 * @properties={typeid:24,uuid:"050BF2C3-FD9C-465B-8CCE-53502A66E813"}
 * @AllowToRunInFind
 */
function ver_saldo() 
{
	// solo buscar saldo de caja cuando es efectivo // 20/07/2010
	if(op_cabecera_to_op_detalle.op_detalle_to_valores.usa_cta_bco==1) // 20/07/2010 es transferencia
			return true;
	if (op_cabecera_to_op_detalle.op_detalle_to_valores.es_cheque==1) // 20/07/2010 es  cheque
			return true;    
	
// es efectivo: debe chequear saldo   
	/** @type {JSFoundSet<db:/infocom/saldos_caja>}*/
	var fs_saldos=databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'saldos_caja')
	var estado=fs_saldos.find()
	if (estado==true)
	{
		fs_saldos.cuentas_cyb_id	= cuentas_cyb_id;
		fs_saldos.moneda_id			= globals.zparam_moneda_default
		var found=fs_saldos.search();
		if (found==1)  
		{ // ver saldo existente 
			fs_saldos.setSelectedIndex(1);
	    	if (importe > fs_saldos.saldo_efectivo)
	    	{ // importe supera lo existente en caja
	    		globals.DIALOGS.showWarningDialog('Aviso','Efectivo a pagar de $' + importe + ' supera el saldo de la caja $' + fs_saldos.saldo_efectivo,'OK')
				return false;
	    	}
	    	else
	    		return true;
	    }
	    else
		{
	    	return false;
		}
	}
	else
	{
		return false;
	}    
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"6F88C769-7A66-40B9-8991-82CB7DF0FE9C"}
 */
function onDataChange_cheque_nro(oldValue, newValue, event)    //25/08/2010 
{
	if (op_detalle_to_valores.es_cheque == 1) 
	{ // es cheque  
		if (op_detalle_to_valores.es_propio == 1) // es propio
		{
			globals.duplicacion_cheques(valor_id,banco_id,cheque_nro)
			if (globals.gfilas != 0)  // si es cero, la factura no existe
			{ // ya existe , lo rechaza
				globals.DIALOGS.showWarningDialog('Aviso','Ya existe ' + op_detalle_to_valores.valor_descripcion + ' nro. ' + cheque_nro + ' de banco ' + op_detalle_to_cuentas_cyb.descripcion,'OK')
				return false;
			}
			if (op_detalle_to_valores.es_ch_difer == 1)
			{
				elements.fecha_pago.requestFocus();
			}
			else  // cheque propio no deferido poner fecha_emision=fecha_pago 
			{
				fecha_pago = application.getServerTimeStamp()
				elements.fecha_pago.enabled = false;
			}
		}
	}
	return true
}

/**
 * Handle focus element loosing focus.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"D37A4B55-CE75-4CB0-93EE-F060A64CC528"}
 */
function onFocusLost_fecha_pago(event)  //25/08/2010
{
	//onDataChange_cheque_nro();
	if (op_detalle_to_valores.es_cheque==1) 
	{ // es cheque  
		if (op_detalle_to_valores.es_propio==1) // es propio
		{
			if (op_detalle_to_valores.es_ch_difer==1) // 25/08/2010  (todo el if)
			{
				if(fecha_pago == null)
					elements.fecha_pago.requestFocus();
			}
		}
	}
	return true
}
